Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Version 48 (modified by kardan, 15 years ago) (diff)

needed packages for compiling

Installing Pidgin

Windows Specific

How do I build Pidgin for Windows?

The Windows build instructions are here.

Is there a way to install Spell-checking support (Aspell) manually?

Yes, if the installer isn't able to successfully download and install Aspell, you can do so manually. You can download both the Aspell core and a dictionary from the win32 Aspell website.

The installation aborts with the error message "Error Installing GTK+ Runtime"

If you receive a "Error Installing GTK+ Runtime" error while trying to install Pidgin, this could be caused by a running GTK+ application.
Close all running applications, especially any that use GTK+ (e.g. XChat, GIMP, Inkscape) and try again.

Unattended Installations

The pidgin installer can be run in a "silent" mode by using the following syntax:

pidgin-x.y.z.exe /DS=1 /SMS=0 /L=1033 /S /D=C:\Pidgin

The /L flag sets the language (Windows LCID) used by the installer, as well as Pidgin itself. The /D flag, if specified, sets the installation directory; it must be the last parameter used in the command line and must not contain any quotes, even if the path contains spaces. You may omit both the /L and /D flags and use the defaults which are 1033 (English) and %PROGRAMFILES%\Pidgin respectively. The /DS and /SMS flags can be used to enable or disable the Desktop and Start Menu Shortcuts. The same applies to non-gtk versions. If you need to specify the GTK+ install path (Default is %COMMONPROGRAMFILES%\GTK\2.0); download the latest GTK+ standalone installer and the no-gtk pidgin package and run the following:

gtk-runtime-x.y.z-rev-a.exe /L=1033 /S /NOUI /D=C:\GTK+
pidgin-x.y.z-no-gtk.exe /L=1033 /S /D=C:\Pidgin

The GTK+ installer has two silent states. One with message boxes: /S, and one without: /S /NOUI. This is because the installer was made to run from within the Pidgin installer, where you would expect to see message boxes for errors.

Packages

Are the packages signed? If so, by whom, and how can I get the key?

Yes, all packages are signed. The signature for the tarball and bzip2 archive are provided by separate downloads. The RPMs we provide are signed Stu Tomlinson. The keys can be obtained from any key server. http://pgp.mit.edu/ is popular.

Can I run Pidgin on IRIX?

Sure, but the amount of effort required is dependent on the compiler you use; there is, however, no official support.

  1. GCC (tested with 3.4 on IRIX 6.5.29): All but one necessary change has been included in Pidgin's source. GNUTLS will not be included by default, even if the necessary libraries and headers are available; to add SSL support, open the configure script in your favorite editor and replace all instances of "-lnsl" with "-lnsl -lgnutls". Ask no questions. :-) It Just Works. Mozilla NSS/NSPR was not tested.
  2. MIPSPro CC (tested with 7.4.4m on IRIX 6.5.29): This is less trivial due to this compiler being much more strict about ANSI compliance. Some unofficial patches have been known to float around that apply the changes mentioned above for GCC, among others necessary to silence errors. You will need to disable the Zephyr protocol plugin.

Note that Jabber can crash Pidgin when using TLS. This is a bug in GNUTLS that may or may not have been fixed.

Can I run Pidgin on HP-UX?

You can. It has been done with GCC 4.1.1 on HP-UX 11.11, however, there is no official support. The configure scripts that ship with the official releases are unfortunately incompatible with the linker on this system, but by checking the tag out of version control and running autogen.sh you will end up with a usable build tree. Make sure to configure without the GTK+ and GLib tests, as well as without the X screensaver extension. No source hacks are needed.

Can I run Pidgin on Mac OS X?

Yes you can, but we do not provide a package for it. The reason being that in order to use Pidgin on Mac OS X, you need to install an X server and GTK+, which we are not prepared to support. You can either compile Pidgin (and its dependencies) yourself, or you can use the fink installer available from http://fink.sf.net. If you would like a native aqua interface or a user-friendly installer, we suggest trying Adium, available at http://www.adiumx.com/

Where do I get libgtkspell.so.0?

Most people asking this are trying to install our RPMs by hand on their system. libgtkspell.so.0 is provided by the gtkspell package. Most modern RPM-based distros have tools such as yum that can install this for you automatically; alternatively you can find a generic SRPM suitable for rebuilding with rpmbuild on GTKSpell's site.

Why are there no packages (.deb, .rpm) for my system?

See the WhyPackagesExist wiki page for a complete answer to this question.

Compiling

I have the source; how do I build this thing?

Assuming you have all of the necessary libraries (sudo apt-get source pidgin and libgtk) and their headers installed (see the next few questions), you compile libpurple, Pidgin and Finch just like most applications:

To make configure work, the packages libxss-dev and libstartup-notification0-dev are needed.

% tar xjvf pidgin-2.x.y.tar.bz2
% cd pidgin-2.x.y
% ./configure && make && sudo make install

This will install libpurple, Pidgin and Finch to /usr/local. If you want to install it elsewhere, pass --prefix=/some/other/prefix to ./configure. (You really don't want to install it to /usr.) See ./configure --help for other options you can change at compile-time.

If you got the source tree from our Monotone database (which you probably shouldn't have), you'll need to run ./autogen.sh instead of ./configure the first time around. If you get an error like the following, you may need a newer version of automake.

running /usr/bin/automake -a -c --gnu... failed.
Makefile.am:79: directory should not contain `/'
pidgin/pixmaps/Makefile.am:4: directory should not contain `/'

If you are trying to compile on Windows, you need the answer to a different question.

Why can't I compile Pidgin?

You're probably missing some dependencies. The configure script will tell you when you are missing required dependencies. Remember that if you're using an RPM-based (RedHat Enterprise Linux, CentOS, SUSE, Mandriva, etc.) or Debian-based system (Debian, Ubuntu, etc.) that having just a library's package installed is not sufficient--you must also have the -devel (RPM systems) or -dev (Debian-based systems) package for each library installed. If configure is succeeding, but make fails, this is harder to diagnose and you will probably want to drop by the IRC channel or XMPP conference listed on PidginCommunity to get help.

How do I install the dependencies on Debian or Ubuntu?

You need to install the development headers; these are the -dev packages. A simple apt-get build-dep pidgin (or if you're on an older release which doesn't have a pidgin package, apt-get build-dep gaim) will find and install all of the required header packages for you.

If apt-get build-dep fails with a message like

E: You must put some 'source' URIs in your sources.list

then you need to add deb-src lines to your /etc/apt/sources.list corresponding to each of the deb lines already there. If editing configuration files scares you, Ubuntu has a "Software Sources" control panel in System -> Administration which has some magic tickyboxes to do this for you.

How do I install the dependencies on Fedora (or similar)?

RPM-based distribution users may find yum-builddep pidgin-VERSION.src.rpm useful if a source RPM is available and the distribution uses the yum tools.

Note that the 'yum-builddep' command is in the 'yum-utils' package, which is not necessarily installed by default.

How do I apply the patch "something.diff"?

Type patch -p0 < something.diff from the top level of the source directory (pidgin/, not pidgin/pidgin/ or pidgin/finch/). If that does not work, try patch -p1 < something.diff.

Is there a way to compile without some protocols?

There are actually two ways:

  1. Run ./configure with the --with-static-prpls with --disable-plugins. This will let you choose which protocols to include by specifying them as a comma-separated list, such as the following (but note that you won't be able to use any other protocols or plugins)
    ./configure --disable-plugins --with-static-prpls=aim,icq,yahoo
    
  2. Use the --with-dynamic-prpls option to ./configure by specifying a comma-separated list, like so:
    ./configure --with-dynamic-prpls=aim,icq,yahoo
    

Can I compile just Finch, not Pidgin?

Sure. Pass --disable-gtkui to ./configure.

How do I compile with SSL support?

I have OpenSSL; why isn't Pidgin using it?

See FAQssl

I installed the latest version but the About box says I'm still using the old version!

If you compiled the new version yourself, it's likely you had a distribution package (RPM, deb, ebuild, etc.) installed prior to building but did not remove it. You should remove that package using your package manager.

If you compiled the old version yourself, run make uninstall from the old source tree. If you didn't keep that around but you remember the exact arguments you gave the configure script, you can download the source for the old release, configure it exactly the same, then run make uninstall.

Why do you always say not to use MTN?

That's a long story. For starters, MTN is frequently unusable because of changes in the code. Bugs are introduced during the development process and are hopefully fixed before a release is made. It is often the case that Pidgin MTN exhibits bad behavior due to features and bugfixes which are in a transitory state or which are not yet well understood. These bad behaviors range from the harmless (maybe a graphical glitch in a dialog box) to the irritating (a particular protocol may not work), to the downright damaging (recently a bug in MTN destroyed the user's buddy lists). While behaviors like this are acceptable to some users (particularly developers, who are used to such things), they tend to cause many Pidgin MTN users to contact Pidgin developers and report the same (usually egregious) bug over and over - using time which could be better spent fixing the bugs.

A second major point involves public resources - an MTN pull is not a cheap operation. As many SourceForge users are aware, at various points in the past few years SourceForge CVS has been less than pleasant to work with. This is, of course, because SourceForge hosts thousands of useful and active projects which use[d] CVS as a primary method of source code collaboration. Unfortunately, when too many users are poking around in that CVS just for the sake of poking around, it prevents other users who are trying to do work to improve those very same projects from accomplishing their tasks. Naturally, this could easily become true of our MTN offering as well. It is better for the community if an enterprising individual wishing to fix a particular bug [s]he has seen can get to the code and create a patch, even if this means that some users have to wait a few weeks for the next release to see what new features it might hold.

The third point is not a problem which has yet come up, but it is in the back of the mind of the developers who bring you Pidgin. As a third-party IM client, Pidgin is not a priority (and indeed may be an irritant) for the IM service providers. We do our best to keep Pidgin playing nice and being friendly on the IM networks it uses; however, at times there are bugs in the protocol support. If a few dozen people are using this buggy client, the IM providers are not likely to go out of their way to do anything about it. However, if hundreds of people are pointing an ill-behaved client at an IM server, the server administrators may be forced to take action. (This is particularly likely if the buggy behavior is damaging in some way.) Pidgin releases represent code which the Pidgin developers feel is relatively well-behaved and stable. This includes not only the interface seen by Pidgin users, but the traffic seen by IM service providers. Pidgin MTN bears no such guarantees.

In short, there are a lot of good reasons to not use Pidgin MTN if one does not wish to develop Pidgin, Pidgin plugins, or a codebase which interacts with Pidgin in some intimate way. There are, however, only a few reasons to use Pidgin MTN outside of the above. Please weigh these things carefully and decide whether you wish to use Pidgin MTN for a good reason which furthers the community, or for selfish reasons which are not entirely important.

How can I get Pidgin to report idleness based on keyboard and mouse usage?

You will need to install the libxss-dev package. Check with your distributions package manager for the exact package name. The package name given here is for Ubuntu/Debian?. Without this package, it only allows you to report idleness based on when you last sent a message.

All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!